class Solution {
public:
    int smallestNumber(int n) {
        int index=0;
        while((1<<index)<n) //找到最高位1
            index++;
        if(1<<index==n) index++; //如果n是2^index, 则index++
        return (int)pow(2,index)-1;
    }
};